<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilflash: xilflash_protection_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilflash
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xilflash__protection__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xilflash_protection_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a design example using the Generic Flash Library. </p>
<p>This example tests the Lock and UnLock features of the Flash Device.</p>
<p>A block is Locked and an attempt is made to erase a Page in that block. This should return an error. The block is then unlocked and an attempt is made to erase a page in that block which should succeed. A page of data is written, read back and compared with the data written for correctness.</p>
<dl class="section note"><dt>Note</dt><dd>This example has been tested with an Intel CFI compliant Flash device. This example has not been tested with an AMD CFI compliant Flash device. The AMD CFI compliant Flash devices require the user to apply a 12V DC voltage on the RP pin while performing the Lock and Unlock operations. Change the value of XFL_TO_ASYNCMODE to 1, inorder to operate the Micron Flash in async mode,if it was set to sync mode.</dd></dl>
<pre>
  MODIFICATION HISTORY:</pre><pre>  Ver   Who  Date     Changes
</p>
<hr/>
<p>
  1.01a mta  10/09/07 First release
  1.01a sdm  02/24/09 Updated the notes with information about using the example
                      with AMD CFI compliant Flash devices
  2.00a ktn  12/04/09 Updated to use the HAL processor APIs/macros
  3.00a sdm  03/03/11 Updated to pass BaseAddress and Flash Width to _Initialize
                      API, as required by the new version of the library
  4.2   nsk  01/29/16 Added Support to change Flash to Async Mode, if it was
                      set to sync mode.
                      Modified FLASH_BASE_ADDRESS to canonical name.
  4.7   akm  07/23/19 Initialized Status variable to XST_FAILURE.
  4.10  akm  07/14/23 Added support for system device-tree flow.
*</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad7728df460c41edfb9f3de817c6c0987"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xilflash__protection__example_8c.html#ad7728df460c41edfb9f3de817c6c0987">FlashProtectionExample</a> (void)</td></tr>
<tr class="memdesc:ad7728df460c41edfb9f3de817c6c0987"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function verifies the locking and unlocking features of the Flash device.  <a href="#ad7728df460c41edfb9f3de817c6c0987">More...</a><br/></td></tr>
<tr class="separator:ad7728df460c41edfb9f3de817c6c0987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xilflash__protection__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to execute the Flash protection example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ad7728df460c41edfb9f3de817c6c0987"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FlashProtectionExample </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function verifies the locking and unlocking features of the Flash device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__xilflash__apis.html#ga13e5d44757867a2f424f885ac51890c2">XFlash_Erase()</a>, <a class="el" href="group__xilflash__apis.html#gab4c908ad78f6ded9407d0dc7ed611370">XFlash_Initialize()</a>, <a class="el" href="group__xilflash__apis.html#ga61597f564c68519fd4449b9fe6c50339">XFlash_Lock()</a>, <a class="el" href="group__xilflash__apis.html#ga2b079c7388012f6bdbda754ea0d62641">XFlash_Read()</a>, <a class="el" href="group__xilflash__apis.html#gacef8005e70142f8113fa163cb5a187f5">XFlash_Reset()</a>, <a class="el" href="group__xilflash__apis.html#gad42077db3972cee5f052a5a5063fe538">XFlash_Unlock()</a>, and <a class="el" href="group__xilflash__apis.html#gadeef4a4805428c7a14578bc0790d6bdc">XFlash_Write()</a>.</p>

<p>Referenced by <a class="el" href="xilflash__protection__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to execute the Flash protection example. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xilflash__protection__example_8c.html#ad7728df460c41edfb9f3de817c6c0987">FlashProtectionExample()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
